package com.design.pattern.interpreter;

/**
 * 非终结符解释器,处理自定义标签的类
 */
public abstract class AbstractCalculateInterpreter implements CalculateInterpreter{
    /**
     * 计算符,一般都会包括前面的节点和后面的节点
     */
    private CalculateInterpreter pre;//前面的节点
    private CalculateInterpreter next;//后面的节点

    public void setPre(CalculateInterpreter pre) {
        this.pre = pre;
    }

    public void setNext(CalculateInterpreter next) {
        this.next = next;
    }

    public CalculateInterpreter getPre() {
        return pre;
    }

    public CalculateInterpreter getNext() {
        return next;
    }

    /**
     * 构造入参
     * @param pre 前面的参数
     * @param next 后面的参数
     */
    public AbstractCalculateInterpreter(CalculateInterpreter pre, CalculateInterpreter next) {
        this.pre = pre;
        this.next = next;
    }
}
